#!/usr/bin/env python
#coding=utf-8
'''
Created on Aug 19, 2010
@author: lxd
'''
import datetime
import parse
import time
import threading
s_lock = threading.RLock()#for time.sleep

class Client():      
    def __init__(self, log): 
        self.log = log   

    def __my_sleep(self, seconds):   
        s_lock.acquire()
        time.sleep(seconds)
        s_lock.release()   
                
    def wait(self, seconds):
        last_time = time.time()
        last_seconds = 0
        while last_seconds < seconds:
            self.receiveAllMessage()
            self.__my_sleep(3)
            last_seconds = time.time() - last_time
    
    def receiveAllMessage(self):
        self.log.info('receive')
            
    def getCryptKey(self):
        self.log.info('getCryptKey')
        
    def isEnterGame(self):
        self.log.info('enter game')
        
    def enterGame(self):        
        data = {'accId': 375313961.0, 'expLimit': 49000, 'intelPoint': 0, 'userId': 83085, 'headIcon': None, 'titleExpireDttm': None, 'militaryLimit': 200, 'lastLoginDttm': datetime.datetime(2010, 9, 15, 13, 33, 52, 887000), 'title': None, 'createDate': datetime.datetime(2010, 8, 25, 12, 55, 16), 'pvpNum': 0, 'waitQueLen': 0, 'castleList': None, 'hexagram': 0, 'junGong': 0, 'lvParaLimit': {'maxHonorMissionLevel': 3, 'IRemoteObjectState': 0, 'money': 0, 'tacticLimit': 120, 'expPointLimit': 48000, 'honorMissNum': 5, 'tipContent': u'', 'militaryLimit': 200, 'resource': 0, 'rankName': u'Lv.24', 'armyNumLimit': 12000, 'actionPoint': 670, 'tipTitle': u'', 'minHonorMissionLevel': 2, 'rankId': 24, 'cityNum': 1, 'propertyPoint': 3900, 'skillPointLimit': 125, 'pvpNum': 10, 'honor': 990, 'polityLimit': 200, 'picPath': u'3.png', 'hexHonor': 150, 'skillPoint': 0, 'intelLimit': 200, 'rankDesc': u'', 'achieve': 0}, 'achieve': 0, 'warStatus': 10, 'IRemoteObjectState': 0, 'buiQueLen': 2, 'currGuide': u'1001', 'finalMilitaryPoint': 45, 'dailyGiftDttm': datetime.datetime(2010, 9, 14, 11, 22, 33), 'guildFlag': None, 'dutyName': u'', 'cash': 0, 'protectStatus': 0, 'guildName': None, 'availPropertyPoint': 0, 'finalIntelPoint': 0, 'polityLimit': 200, 'tacticPoint': 120, 'intelLimit': 200, 'skillLimit': 125, 'laveNum': 3, 'militaryPoint': 45, 'payPoint': 198, 'skillPoint': 0, 'tacticLimit': 120, 'influence': 0, 'sex': 2, 'protectEndDttm': None, 'IExportOpCode': 0, 'guildId':-1, 'guildAward': 1, 'finalPolityPoint': 1, 'countryId': 5, 'onlineFlag': False, 'usedActPoint': 0, 'titleId': 0, 'rankIndex': 0, 'honorNum': 0, 'rankName': u'Lv.24', 'selfSignature': u'\u8fd9\u4e2a\u4eba\u5f88\u61d2\uff0c\u975e\u5e38\u61d2\uff0c\u7279\u522b\u61d2', 'prayTimes': 0, 'influenceRank': 25022, 'lasAwardDttm': datetime.datetime(2010, 8, 25, 14, 23, 29), 'polityPoint': 1, 'expPoint': 1165, 'armyNumLimit': 16500, 'prestige': 300, 'icon': u'user2_19.jpg', 'userName': u'Cicii', 'lastActDmDttm': datetime.datetime(2010, 9, 15, 3, 17, 36), 'casNum': 1, 'rankId': 24, 'hexDate': None, 'olTime': 69900, 'defUser': 1, 'honor': 524, 'constituteNum': 3}
        return parse.enterGame(data) 
    
    def getUserCastles(self):   
        data = [{'castlePop': {'IExportKey': None, 'IRemoteObjectState': 0, 'IExportType': 10, 'userId': 83085, 'bronzePop': 0, 'moneyAddSpeed': 8400, 'key': u'CastlePopulation_87609', 'IExportOpCode': 0, 'woodPop': 0, 'labPop': 5200, 'idlePop': 1800, 'currPop': 7000, 'foodPop': 5200, 'stonePop': 0, 'casId': 87609, 'popCeil': 7000}, 'castle': {'rangeLv': 3, 'userId': 83085, 'qqType': None, 'parentCasId': 0, 'calcuDttm': datetime.datetime(2010, 9, 15, 3, 44, 8, 133000), 'IExportOpCode': 0, 'qqEndTime': None, 'quarCalcuDttm': datetime.datetime(2010, 9, 15, 3, 40, 16), 'castleType': u'main', 'casName': u'Cicii', 'preArmyNum': 2030, 'status': 0, 'operPeopleDttm': None, 'IRemoteObjectState': 0, 'rangeValue': 21260, 'branchCasTypeList': None, 'recruitDttm': datetime.datetime(2010, 9, 14, 15, 0, 0, 468000), 'todayLost': 0, 'casLv': 3, 'iconPath': u'chengchi2.swf', 'casId': 87609, 'occuFlagTime': None, 'changeCountryDttm': None, 'rangeCeil': 21260, 'isDefaultView': u'\u662f', 'stateId': 38, 'entityCapacity': {'capDesc': u'', 'entId': 90000004, 'level': 3, 'para2': 0, 'para1': 0, 'iconPath': u'chengchi2.swf', 'capacity':-1, 'type1': u'', 'type2': u''}, 'robbedTimes': 0, 'posX': 834, 'posY': 1938, 'addCurrLv': None, 'addHonorMissionDttm': None}, 'castleRes': {'IExportKey': None, 'IRemoteObjectState': 0, 'moneyNum': 2500000, 'IExportType': 7, 'bankCapacity': 2500000, 'foodNum': 177189, 'userId': 83085, 'bronzeNum': 153119, 'cashNum': 0, 'key': u'CastleResource_87609', 'IExportOpCode': 0, 'wareCapacity': 320000, 'stoneNum': 170935, 'changeExpNum': 0, 'lastChangeDttm': None, 'lastBuyDttm': datetime.datetime(2010, 8, 25, 12, 55, 16), 'woodNum': 103097, 'casId': 87609}}]
        return parse.getUserCastles(data)

    def getUserDailyMissionList(self):   
        data = [{'status': u'processing', 'dMId': 2, 'uDmId': 232999, 'IExportType': 17, 'IExportOpCode': 0, 'userId': 40777, 'timeDis': 899.0}]
        return data

    def listCastleBuilding(self, casId):        
        data = {'serverCurrTime': 1284601616845.0, 'rangeLv': 3, 'casLv': 3, 'castleIcon': u'chengchi2.swf', 'buiList': [{'building': {'buiName': u'\u4e66\u9662', 'entId': 10113001, 'entType': None, 'numLimit': 1, 'buiDesc': u'\u4e66\u9662(\u552f\u4e00\u7684)\u7528\u4e8e\u7814\u7a76\u79d1\u6280\uff0c\u5bf9\u5185\u653f\u548c\u519b\u4e8b\u90fd\u6709\u91cd\u5927\u5f71\u54cd\u3002\u5347\u7ea7\u4e66\u9662\uff0c\u80fd\u591f\u5c06\u79d1\u6280\u7814\u7a76\u5230\u66f4\u9ad8\u7b49\u7ea7\u3002', 'iconPath': None, 'property': u'\u79d1\u6280\u7814\u7a76\u901f\u5ea6', 'maxLevel': 30, 'castleType': u'main'}, 'status': u'FINISH', 'casBuiId': 1115716, 'posNo': u'C8', 'level': 9, 'IExportType': 12, 'buiDesc': u'9\u7ea7\u4e66\u9662\u4f7f\u79d1\u6280\u7814\u7a76\u901f\u5ea6\u589e\u52a04.5\u500d', 'userId': 83085, 'inBuiDesc': u'\u4e66\u9662(\u552f\u4e00\u7684)\u7528\u4e8e\u7814\u7a76\u79d1\u6280\uff0c\u5bf9\u5185\u653f\u548c\u519b\u4e8b\u90fd\u6709\u91cd\u5927\u5f71\u54cd\u3002\u5347\u7ea7\u4e66\u9662\uff0c\u80fd\u591f\u5c06\u79d1\u6280\u7814\u7a76\u5230\u66f4\u9ad8\u7b49\u7ea7\u30029\u7ea7\u4e66\u9662\u4f7f\u79d1\u6280\u7814\u7a76\u901f\u5ea6\u589e\u52a04.5\u500d', 'iconPath': u'\u4e66\u96622.png', 'buiEntId': 10113001, 'casId': 87609, 'isBuilding':-1, 'IExportOpCode': 0}, {'building': {'buiName': u'\u4ed3\u5e93', 'entId': 10110002, 'entType': None, 'numLimit': 1, 'buiDesc': u'\u4ed3\u5e93(\u552f\u4e00\u7684)\u7528\u6765\u5b58\u653e\u8d44\u6e90\uff0c\u5305\u62ec\u7cae\u98df\u3001\u6728\u6750\u3001\u77f3\u6599\u548c\u9752\u94dc\u3002', 'iconPath': None, 'property': u'\u4ed3\u5e93\u5bb9\u91cf', 'maxLevel': 30, 'castleType': u'main'}, 'status': u'FINISH', 'casBuiId': 1115366, 'posNo': u'C7', 'level': 6, 'IExportType': 12, 'buiDesc': u'6\u7ea7\u4ed3\u5e93\u53ef\u5b58\u653e\u7cae\u98df\u3001\u6728\u6750\u3001\u77f3\u6599\u3001\u9752\u94dc\u540432\u4e07', 'userId': 83085, 'inBuiDesc': u'\u4ed3\u5e93(\u552f\u4e00\u7684)\u7528\u6765\u5b58\u653e\u8d44\u6e90\uff0c\u5305\u62ec\u7cae\u98df\u3001\u6728\u6750\u3001\u77f3\u6599\u548c\u9752\u94dc\u30026\u7ea7\u4ed3\u5e93\u53ef\u5b58\u653e\u7cae\u98df\u3001\u6728\u6750\u3001\u77f3\u6599\u3001\u9752\u94dc\u540432\u4e07', 'iconPath': u'\u4ed3\u5e932.png', 'buiEntId': 10110002, 'casId': 87609, 'isBuilding':-1, 'IExportOpCode': 0}, {'building': {'buiName': u'\u9152\u9986', 'entId': 10114001, 'entType': None, 'numLimit': 1, 'buiDesc': u'\u9152\u9986(\u552f\u4e00\u7684)\u5e38\u4f1a\u5f15\u6765\u4e00\u4e9b\u5929\u8d4b\u5f02\u7980\u4e4b\u58eb\uff0c\u5f62\u5f62\u8272\u8272\uff0c\u5404\u6709\u6240\u957f\u3002\u53ef\u4ee5\u5c06\u5176\u7eb3\u5165\u9ebe\u4e0b\uff0c\u5171\u521b\u4e00\u756a\u9738\u4e1a\u3002\u5347\u7ea7\u9152\u9986\u53ef\u4f7f\u9ad8\u6210\u957f\u6b66\u5c06\u51fa\u73b0\u673a\u4f1a\u589e\u5927\uff0c\u968f\u673a\u4e8b\u4ef6\u4e5f\u4f1a\u589e\u591a\u3002', 'iconPath': None, 'property': u'\u968f\u673a\u4e8b\u4ef6\u9891\u5ea6', 'maxLevel': 30, 'castleType': u'main'}, 'status': u'FINISH', 'casBuiId': 1117017, 'posNo': u'C9', 'level': 7, 'IExportType': 12, 'buiDesc': u'7\u7ea7\u9152\u9986\u7684\u6b66\u5c06\u5237\u65b0\u901f\u5ea6\u4e3a2\u5c0f\u65f655\u5206', 'userId': 83085, 'inBuiDesc': u'\u9152\u9986(\u552f\u4e00\u7684)\u5e38\u4f1a\u5f15\u6765\u4e00\u4e9b\u5929\u8d4b\u5f02\u7980\u4e4b\u58eb\uff0c\u5f62\u5f62\u8272\u8272\uff0c\u5404\u6709\u6240\u957f\u3002\u53ef\u4ee5\u5c06\u5176\u7eb3\u5165\u9ebe\u4e0b\uff0c\u5171\u521b\u4e00\u756a\u9738\u4e1a\u3002\u5347\u7ea7\u9152\u9986\u53ef\u4f7f\u9ad8\u6210\u957f\u6b66\u5c06\u51fa\u73b0\u673a\u4f1a\u589e\u5927\uff0c\u968f\u673a\u4e8b\u4ef6\u4e5f\u4f1a\u589e\u591a\u30027\u7ea7\u9152\u9986\u7684\u6b66\u5c06\u5237\u65b0\u901f\u5ea6\u4e3a2\u5c0f\u65f655\u5206', 'iconPath': u'\u9152\u99862.png', 'buiEntId': 10114001, 'casId': 87609, 'isBuilding':-1, 'IExportOpCode': 0}, {'building': {'buiName': u'\u6c11\u5c45', 'entId': 10110001, 'entType': None, 'numLimit': 15, 'buiDesc': u'\u6c11\u5c45(\u4e3b\u57ce\u6700\u591a15\u4e2a)\u4e3a\u57ce\u6c60\u4e2d\u7684\u4eba\u53e3\u63d0\u4f9b\u4f4f\u6240\u3002\u5efa\u9020\u548c\u5347\u7ea7\u6c11\u5c45\u80fd\u591f\u63d0\u9ad8\u4eba\u53e3\u7684\u4e0a\u9650\u548c\u589e\u957f\u901f\u5ea6\u3002', 'iconPath': None, 'property': u'\u53ef\u5bb9\u7eb3\u4eba\u53e3', 'maxLevel': 30, 'castleType': u'main'}, 'status': u'FINISH', 'casBuiId': 1115237, 'posNo': u'C4', 'level': 7, 'IExportType': 12, 'buiDesc': u'7\u7ea7\u6c11\u5c45\u53ef\u5bb9\u7eb3\u4eba\u53e3700', 'userId': 83085, 'inBuiDesc': u'\u6c11\u5c45(\u4e3b\u57ce\u6700\u591a15\u4e2a)\u4e3a\u57ce\u6c60\u4e2d\u7684\u4eba\u53e3\u63d0\u4f9b\u4f4f\u6240\u3002\u5efa\u9020\u548c\u5347\u7ea7\u6c11\u5c45\u80fd\u591f\u63d0\u9ad8\u4eba\u53e3\u7684\u4e0a\u9650\u548c\u589e\u957f\u901f\u5ea6\u30027\u7ea7\u6c11\u5c45\u53ef\u5bb9\u7eb3\u4eba\u53e3700', 'iconPath': u'\u6c11\u5c452.png', 'buiEntId': 10110001, 'casId': 87609, 'isBuilding':-1, 'IExportOpCode': 0}, {'building': {'buiName': u'\u4fee\u70bc\u9986', 'entId': 10114003, 'entType': None, 'numLimit': 1, 'buiDesc': u'\u4fee\u70bc\u9986(\u552f\u4e00\u7684)\u662f\u57f9\u517b\u6b66\u5c06\u7684\u91cd\u8981\u573a\u6240\uff0c\u4f7f\u6b66\u5c06\u4e0d\u5fc5\u5f81\u6218\u6c99\u573a\u5c31\u80fd\u5f97\u5230\u953b\u70bc\u3002\u5347\u7ea7\u4fee\u70bc\u9986\u5c06\u5141\u8bb8\u6b66\u5c06\u4fee\u70bc\u5230\u66f4\u9ad8\u7ea7\u522b\u3002', 'iconPath': None, 'property': u'\u6b66\u5c06\u4fee\u70bc\u7ecf\u9a8c\u5956\u52b1', 'maxLevel': 30, 'castleType': u'main'}, 'status': u'FINISH', 'casBuiId': 1137418, 'posNo': u'C3', 'level': 4, 'IExportType': 12, 'buiDesc': u'4\u7ea7\u4fee\u70bc\u9986\u5185\u6b66\u5c06\u6700\u9ad8\u53ef\u4fee\u70bc\u523016\u7ea7\uff0c\u9ad8\u7ea7\u4fee\u70bc\u4e0d\u53d7\u9650\u5236', 'userId': 83085, 'inBuiDesc': u'\u4fee\u70bc\u9986(\u552f\u4e00\u7684)\u662f\u57f9\u517b\u6b66\u5c06\u7684\u91cd\u8981\u573a\u6240\uff0c\u4f7f\u6b66\u5c06\u4e0d\u5fc5\u5f81\u6218\u6c99\u573a\u5c31\u80fd\u5f97\u5230\u953b\u70bc\u3002\u5347\u7ea7\u4fee\u70bc\u9986\u5c06\u5141\u8bb8\u6b66\u5c06\u4fee\u70bc\u5230\u66f4\u9ad8\u7ea7\u522b\u30024\u7ea7\u4fee\u70bc\u9986\u5185\u6b66\u5c06\u6700\u9ad8\u53ef\u4fee\u70bc\u523016\u7ea7\uff0c\u9ad8\u7ea7\u4fee\u70bc\u4e0d\u53d7\u9650\u5236', 'iconPath': u'\u6b66\u99861.png', 'buiEntId': 10114003, 'casId': 87609, 'isBuilding':-1, 'IExportOpCode': 0}, {'building': {'buiName': u'\u6c11\u5c45', 'entId': 10110001, 'entType': None, 'numLimit': 15, 'buiDesc': u'\u6c11\u5c45(\u4e3b\u57ce\u6700\u591a15\u4e2a)\u4e3a\u57ce\u6c60\u4e2d\u7684\u4eba\u53e3\u63d0\u4f9b\u4f4f\u6240\u3002\u5efa\u9020\u548c\u5347\u7ea7\u6c11\u5c45\u80fd\u591f\u63d0\u9ad8\u4eba\u53e3\u7684\u4e0a\u9650\u548c\u589e\u957f\u901f\u5ea6\u3002', 'iconPath': None, 'property': u'\u53ef\u5bb9\u7eb3\u4eba\u53e3', 'maxLevel': 30, 'castleType': u'main'}, 'status': u'FINISH', 'casBuiId': 1126355, 'posNo': u'C6', 'level': 7, 'IExportType': 12, 'buiDesc': u'7\u7ea7\u6c11\u5c45\u53ef\u5bb9\u7eb3\u4eba\u53e3700', 'userId': 83085, 'inBuiDesc': u'\u6c11\u5c45(\u4e3b\u57ce\u6700\u591a15\u4e2a)\u4e3a\u57ce\u6c60\u4e2d\u7684\u4eba\u53e3\u63d0\u4f9b\u4f4f\u6240\u3002\u5efa\u9020\u548c\u5347\u7ea7\u6c11\u5c45\u80fd\u591f\u63d0\u9ad8\u4eba\u53e3\u7684\u4e0a\u9650\u548c\u589e\u957f\u901f\u5ea6\u30027\u7ea7\u6c11\u5c45\u53ef\u5bb9\u7eb3\u4eba\u53e3700', 'iconPath': u'\u6c11\u5c452.png', 'buiEntId': 10110001, 'casId': 87609, 'isBuilding':-1, 'IExportOpCode': 0}, {'building': {'buiName': u'\u519b\u8425', 'entId': 10112001, 'entType': None, 'numLimit': 12, 'buiDesc': u'\u519b\u8425(\u4e3b\u57ce\u6700\u591a12\u4e2a)\u7528\u4e8e\u8bad\u7ec3\u548c\u9063\u6563\u58eb\u5175\u3002\u5efa\u9020\u548c\u5347\u7ea7\u519b\u8425\u80fd\u591f\u63d0\u9ad8\u65b0\u5175\u7684\u6570\u91cf\u4e0a\u9650\u548c\u589e\u957f\u901f\u5ea6\u3002', 'iconPath': None, 'property': u'\u63d0\u4f9b\u65b0\u5175\u6570\u91cf\u4e0a\u9650', 'maxLevel': 30, 'castleType': u'main'}, 'status': u'FINISH', 'casBuiId': 1956806, 'posNo': u'C28', 'level': 6, 'IExportType': 12, 'buiDesc': u'6\u7ea7\u519b\u8425\u53ef\u5bb9\u7eb3240\u65b0\u5175', 'userId': 83085, 'inBuiDesc': u'\u519b\u8425(\u4e3b\u57ce\u6700\u591a12\u4e2a)\u7528\u4e8e\u8bad\u7ec3\u548c\u9063\u6563\u58eb\u5175\u3002\u5efa\u9020\u548c\u5347\u7ea7\u519b\u8425\u80fd\u591f\u63d0\u9ad8\u65b0\u5175\u7684\u6570\u91cf\u4e0a\u9650\u548c\u589e\u957f\u901f\u5ea6\u30026\u7ea7\u519b\u8425\u53ef\u5bb9\u7eb3240\u65b0\u5175', 'iconPath': u'\u6b65\u5175\u84252.png', 'buiEntId': 10112001, 'casId': 87609, 'isBuilding':-1, 'IExportOpCode': 0}, {'building': {'buiName': u'\u6c11\u5c45', 'entId': 10110001, 'entType': None, 'numLimit': 15, 'buiDesc': u'\u6c11\u5c45(\u4e3b\u57ce\u6700\u591a15\u4e2a)\u4e3a\u57ce\u6c60\u4e2d\u7684\u4eba\u53e3\u63d0\u4f9b\u4f4f\u6240\u3002\u5efa\u9020\u548c\u5347\u7ea7\u6c11\u5c45\u80fd\u591f\u63d0\u9ad8\u4eba\u53e3\u7684\u4e0a\u9650\u548c\u589e\u957f\u901f\u5ea6\u3002', 'iconPath': None, 'property': u'\u53ef\u5bb9\u7eb3\u4eba\u53e3', 'maxLevel': 30, 'castleType': u'main'}, 'status': u'FINISH', 'casBuiId': 1126341, 'posNo': u'C5', 'level': 7, 'IExportType': 12, 'buiDesc': u'7\u7ea7\u6c11\u5c45\u53ef\u5bb9\u7eb3\u4eba\u53e3700', 'userId': 83085, 'inBuiDesc': u'\u6c11\u5c45(\u4e3b\u57ce\u6700\u591a15\u4e2a)\u4e3a\u57ce\u6c60\u4e2d\u7684\u4eba\u53e3\u63d0\u4f9b\u4f4f\u6240\u3002\u5efa\u9020\u548c\u5347\u7ea7\u6c11\u5c45\u80fd\u591f\u63d0\u9ad8\u4eba\u53e3\u7684\u4e0a\u9650\u548c\u589e\u957f\u901f\u5ea6\u30027\u7ea7\u6c11\u5c45\u53ef\u5bb9\u7eb3\u4eba\u53e3700', 'iconPath': u'\u6c11\u5c452.png', 'buiEntId': 10110001, 'casId': 87609, 'isBuilding':-1, 'IExportOpCode': 0}, {'building': {'buiName': u'\u5b98\u5e9c', 'entId': 10111001, 'entType': None, 'numLimit': 1, 'buiDesc': u'\u5b98\u5e9c\u662f\u57ce\u6c60\u53d1\u5c55\u7684\u6807\u5fd7\uff0c\u5b98\u5e9c\u6bcf\u589e\u52a0\u4e00\u7ea7\u53ef\u589e\u52a050%\u7684\u5efa\u7b51\u57fa\u7840\u5efa\u9020\u901f\u5ea6\u3002', 'iconPath': None, 'property': u'', 'maxLevel': 30, 'castleType': u'main'}, 'status': u'FINISH', 'casBuiId': 1110844, 'posNo': u'N100', 'level': 9, 'IExportType': 12, 'buiDesc': u'9\u7ea7\u5b98\u5e9c\u7684\u94dc\u5e01\u5b58\u50a8\u4e0a\u9650\u4e3a250\u4e07', 'userId': 83085, 'inBuiDesc': u'\u5b98\u5e9c\u662f\u57ce\u6c60\u53d1\u5c55\u7684\u6807\u5fd7\uff0c\u5b98\u5e9c\u6bcf\u589e\u52a0\u4e00\u7ea7\u53ef\u589e\u52a050%\u7684\u5efa\u7b51\u57fa\u7840\u5efa\u9020\u901f\u5ea6\u30029\u7ea7\u5b98\u5e9c\u7684\u94dc\u5e01\u5b58\u50a8\u4e0a\u9650\u4e3a250\u4e07', 'iconPath': u'\u5b98\u5e9c2.png', 'buiEntId': 10111001, 'casId': 87609, 'isBuilding':-1, 'IExportOpCode': 0}, {'building': {'buiName': u'\u519b\u8425', 'entId': 10112001, 'entType': None, 'numLimit': 12, 'buiDesc': u'\u519b\u8425(\u4e3b\u57ce\u6700\u591a12\u4e2a)\u7528\u4e8e\u8bad\u7ec3\u548c\u9063\u6563\u58eb\u5175\u3002\u5efa\u9020\u548c\u5347\u7ea7\u519b\u8425\u80fd\u591f\u63d0\u9ad8\u65b0\u5175\u7684\u6570\u91cf\u4e0a\u9650\u548c\u589e\u957f\u901f\u5ea6\u3002', 'iconPath': None, 'property': u'\u63d0\u4f9b\u65b0\u5175\u6570\u91cf\u4e0a\u9650', 'maxLevel': 30, 'castleType': u'main'}, 'status': u'FINISH', 'casBuiId': 1956714, 'posNo': u'C23', 'level': 6, 'IExportType': 12, 'buiDesc': u'6\u7ea7\u519b\u8425\u53ef\u5bb9\u7eb3240\u65b0\u5175', 'userId': 83085, 'inBuiDesc': u'\u519b\u8425(\u4e3b\u57ce\u6700\u591a12\u4e2a)\u7528\u4e8e\u8bad\u7ec3\u548c\u9063\u6563\u58eb\u5175\u3002\u5efa\u9020\u548c\u5347\u7ea7\u519b\u8425\u80fd\u591f\u63d0\u9ad8\u65b0\u5175\u7684\u6570\u91cf\u4e0a\u9650\u548c\u589e\u957f\u901f\u5ea6\u30026\u7ea7\u519b\u8425\u53ef\u5bb9\u7eb3240\u65b0\u5175', 'iconPath': u'\u6b65\u5175\u84252.png', 'buiEntId': 10112001, 'casId': 87609, 'isBuilding':-1, 'IExportOpCode': 0}, {'building': {'buiName': u'\u519b\u8425', 'entId': 10112001, 'entType': None, 'numLimit': 12, 'buiDesc': u'\u519b\u8425(\u4e3b\u57ce\u6700\u591a12\u4e2a)\u7528\u4e8e\u8bad\u7ec3\u548c\u9063\u6563\u58eb\u5175\u3002\u5efa\u9020\u548c\u5347\u7ea7\u519b\u8425\u80fd\u591f\u63d0\u9ad8\u65b0\u5175\u7684\u6570\u91cf\u4e0a\u9650\u548c\u589e\u957f\u901f\u5ea6\u3002', 'iconPath': None, 'property': u'\u63d0\u4f9b\u65b0\u5175\u6570\u91cf\u4e0a\u9650', 'maxLevel': 30, 'castleType': u'main'}, 'status': u'FINISH', 'casBuiId': 1144620, 'posNo': u'C21', 'level': 6, 'IExportType': 12, 'buiDesc': u'6\u7ea7\u519b\u8425\u53ef\u5bb9\u7eb3240\u65b0\u5175', 'userId': 83085, 'inBuiDesc': u'\u519b\u8425(\u4e3b\u57ce\u6700\u591a12\u4e2a)\u7528\u4e8e\u8bad\u7ec3\u548c\u9063\u6563\u58eb\u5175\u3002\u5efa\u9020\u548c\u5347\u7ea7\u519b\u8425\u80fd\u591f\u63d0\u9ad8\u65b0\u5175\u7684\u6570\u91cf\u4e0a\u9650\u548c\u589e\u957f\u901f\u5ea6\u30026\u7ea7\u519b\u8425\u53ef\u5bb9\u7eb3240\u65b0\u5175', 'iconPath': u'\u6b65\u5175\u84252.png', 'buiEntId': 10112001, 'casId': 87609, 'isBuilding':-1, 'IExportOpCode': 0}, {'building': {'buiName': u'\u519b\u8425', 'entId': 10112001, 'entType': None, 'numLimit': 12, 'buiDesc': u'\u519b\u8425(\u4e3b\u57ce\u6700\u591a12\u4e2a)\u7528\u4e8e\u8bad\u7ec3\u548c\u9063\u6563\u58eb\u5175\u3002\u5efa\u9020\u548c\u5347\u7ea7\u519b\u8425\u80fd\u591f\u63d0\u9ad8\u65b0\u5175\u7684\u6570\u91cf\u4e0a\u9650\u548c\u589e\u957f\u901f\u5ea6\u3002', 'iconPath': None, 'property': u'\u63d0\u4f9b\u65b0\u5175\u6570\u91cf\u4e0a\u9650', 'maxLevel': 30, 'castleType': u'main'}, 'status': u'FINISH', 'casBuiId': 1956685, 'posNo': u'C22', 'level': 6, 'IExportType': 12, 'buiDesc': u'6\u7ea7\u519b\u8425\u53ef\u5bb9\u7eb3240\u65b0\u5175', 'userId': 83085, 'inBuiDesc': u'\u519b\u8425(\u4e3b\u57ce\u6700\u591a12\u4e2a)\u7528\u4e8e\u8bad\u7ec3\u548c\u9063\u6563\u58eb\u5175\u3002\u5efa\u9020\u548c\u5347\u7ea7\u519b\u8425\u80fd\u591f\u63d0\u9ad8\u65b0\u5175\u7684\u6570\u91cf\u4e0a\u9650\u548c\u589e\u957f\u901f\u5ea6\u30026\u7ea7\u519b\u8425\u53ef\u5bb9\u7eb3240\u65b0\u5175', 'iconPath': u'\u6b65\u5175\u84252.png', 'buiEntId': 10112001, 'casId': 87609, 'isBuilding':-1, 'IExportOpCode': 0}, {'building': {'buiName': u'\u57ce\u5899', 'entId': 10112006, 'entType': None, 'numLimit': 1, 'buiDesc': u'\u9ad8\u7b51\u5899\u3001\u5e7f\u79ef\u7cae\uff0c\u4e0d\u5931\u4e3a\u751f\u5b58\u5728\u4e71\u4e16\u7684\u597d\u7b56\u7565\u3002\u57ce\u5899\u4e0a\u53ef\u4ee5\u4fee\u5efa\u5404\u79cd\u57ce\u9632\u5de5\u4e8b\uff0c\u5e76\u8bbe\u5b9a\u7559\u5b88\u57ce\u6c60\u7684\u90e8\u961f\u3002\u57ce\u5899\u6bcf\u589e\u52a0\u4e00\u7ea7\u57ce\u9632\u5236\u9020\u901f\u5ea6\u589e\u52a05%\u3002', 'iconPath': None, 'property': u'', 'maxLevel': 30, 'castleType': u'main'}, 'status': u'FINISH', 'casBuiId': 1110845, 'posNo': u'N101', 'level': 8, 'IExportType': 12, 'buiDesc': u'8\u7ea7\u57ce\u5899\u57fa\u7840\u8010\u4e45640\u4e07\uff0c\u53ef\u5bb9\u7eb3\u57ce\u96321600', 'userId': 83085, 'inBuiDesc': u'\u9ad8\u7b51\u5899\u3001\u5e7f\u79ef\u7cae\uff0c\u4e0d\u5931\u4e3a\u751f\u5b58\u5728\u4e71\u4e16\u7684\u597d\u7b56\u7565\u3002\u57ce\u5899\u4e0a\u53ef\u4ee5\u4fee\u5efa\u5404\u79cd\u57ce\u9632\u5de5\u4e8b\uff0c\u5e76\u8bbe\u5b9a\u7559\u5b88\u57ce\u6c60\u7684\u90e8\u961f\u3002\u57ce\u5899\u6bcf\u589e\u52a0\u4e00\u7ea7\u57ce\u9632\u5236\u9020\u901f\u5ea6\u589e\u52a05%\u30028\u7ea7\u57ce\u5899\u57fa\u7840\u8010\u4e45640\u4e07\uff0c\u53ef\u5bb9\u7eb3\u57ce\u96321600', 'iconPath': u'', 'buiEntId': 10112006, 'casId': 87609, 'isBuilding':-1, 'IExportOpCode': 0}, {'building': {'buiName': u'\u519b\u8425', 'entId': 10112001, 'entType': None, 'numLimit': 12, 'buiDesc': u'\u519b\u8425(\u4e3b\u57ce\u6700\u591a12\u4e2a)\u7528\u4e8e\u8bad\u7ec3\u548c\u9063\u6563\u58eb\u5175\u3002\u5efa\u9020\u548c\u5347\u7ea7\u519b\u8425\u80fd\u591f\u63d0\u9ad8\u65b0\u5175\u7684\u6570\u91cf\u4e0a\u9650\u548c\u589e\u957f\u901f\u5ea6\u3002', 'iconPath': None, 'property': u'\u63d0\u4f9b\u65b0\u5175\u6570\u91cf\u4e0a\u9650', 'maxLevel': 30, 'castleType': u'main'}, 'status': u'FINISH', 'casBuiId': 1144605, 'posNo': u'C20', 'level': 6, 'IExportType': 12, 'buiDesc': u'6\u7ea7\u519b\u8425\u53ef\u5bb9\u7eb3240\u65b0\u5175', 'userId': 83085, 'inBuiDesc': u'\u519b\u8425(\u4e3b\u57ce\u6700\u591a12\u4e2a)\u7528\u4e8e\u8bad\u7ec3\u548c\u9063\u6563\u58eb\u5175\u3002\u5efa\u9020\u548c\u5347\u7ea7\u519b\u8425\u80fd\u591f\u63d0\u9ad8\u65b0\u5175\u7684\u6570\u91cf\u4e0a\u9650\u548c\u589e\u957f\u901f\u5ea6\u30026\u7ea7\u519b\u8425\u53ef\u5bb9\u7eb3240\u65b0\u5175', 'iconPath': u'\u6b65\u5175\u84252.png', 'buiEntId': 10112001, 'casId': 87609, 'isBuilding':-1, 'IExportOpCode': 0}, {'building': {'buiName': u'\u6c11\u5c45', 'entId': 10110001, 'entType': None, 'numLimit': 15, 'buiDesc': u'\u6c11\u5c45(\u4e3b\u57ce\u6700\u591a15\u4e2a)\u4e3a\u57ce\u6c60\u4e2d\u7684\u4eba\u53e3\u63d0\u4f9b\u4f4f\u6240\u3002\u5efa\u9020\u548c\u5347\u7ea7\u6c11\u5c45\u80fd\u591f\u63d0\u9ad8\u4eba\u53e3\u7684\u4e0a\u9650\u548c\u589e\u957f\u901f\u5ea6\u3002', 'iconPath': None, 'property': u'\u53ef\u5bb9\u7eb3\u4eba\u53e3', 'maxLevel': 30, 'castleType': u'main'}, 'status': u'FINISH', 'casBuiId': 1122237, 'posNo': u'C1', 'level': 7, 'IExportType': 12, 'buiDesc': u'7\u7ea7\u6c11\u5c45\u53ef\u5bb9\u7eb3\u4eba\u53e3700', 'userId': 83085, 'inBuiDesc': u'\u6c11\u5c45(\u4e3b\u57ce\u6700\u591a15\u4e2a)\u4e3a\u57ce\u6c60\u4e2d\u7684\u4eba\u53e3\u63d0\u4f9b\u4f4f\u6240\u3002\u5efa\u9020\u548c\u5347\u7ea7\u6c11\u5c45\u80fd\u591f\u63d0\u9ad8\u4eba\u53e3\u7684\u4e0a\u9650\u548c\u589e\u957f\u901f\u5ea6\u30027\u7ea7\u6c11\u5c45\u53ef\u5bb9\u7eb3\u4eba\u53e3700', 'iconPath': u'\u6c11\u5c452.png', 'buiEntId': 10110001, 'casId': 87609, 'isBuilding':-1, 'IExportOpCode': 0}, {'building': {'buiName': u'\u6c11\u5c45', 'entId': 10110001, 'entType': None, 'numLimit': 15, 'buiDesc': u'\u6c11\u5c45(\u4e3b\u57ce\u6700\u591a15\u4e2a)\u4e3a\u57ce\u6c60\u4e2d\u7684\u4eba\u53e3\u63d0\u4f9b\u4f4f\u6240\u3002\u5efa\u9020\u548c\u5347\u7ea7\u6c11\u5c45\u80fd\u591f\u63d0\u9ad8\u4eba\u53e3\u7684\u4e0a\u9650\u548c\u589e\u957f\u901f\u5ea6\u3002', 'iconPath': None, 'property': u'\u53ef\u5bb9\u7eb3\u4eba\u53e3', 'maxLevel': 30, 'castleType': u'main'}, 'status': u'FINISH', 'casBuiId': 1122136, 'posNo': u'C2', 'level': 7, 'IExportType': 12, 'buiDesc': u'7\u7ea7\u6c11\u5c45\u53ef\u5bb9\u7eb3\u4eba\u53e3700', 'userId': 83085, 'inBuiDesc': u'\u6c11\u5c45(\u4e3b\u57ce\u6700\u591a15\u4e2a)\u4e3a\u57ce\u6c60\u4e2d\u7684\u4eba\u53e3\u63d0\u4f9b\u4f4f\u6240\u3002\u5efa\u9020\u548c\u5347\u7ea7\u6c11\u5c45\u80fd\u591f\u63d0\u9ad8\u4eba\u53e3\u7684\u4e0a\u9650\u548c\u589e\u957f\u901f\u5ea6\u30027\u7ea7\u6c11\u5c45\u53ef\u5bb9\u7eb3\u4eba\u53e3700', 'iconPath': u'\u6c11\u5c452.png', 'buiEntId': 10110001, 'casId': 87609, 'isBuilding':-1, 'IExportOpCode': 0}, {'building': {'buiName': u'\u6c11\u5c45', 'entId': 10110001, 'entType': None, 'numLimit': 15, 'buiDesc': u'\u6c11\u5c45(\u4e3b\u57ce\u6700\u591a15\u4e2a)\u4e3a\u57ce\u6c60\u4e2d\u7684\u4eba\u53e3\u63d0\u4f9b\u4f4f\u6240\u3002\u5efa\u9020\u548c\u5347\u7ea7\u6c11\u5c45\u80fd\u591f\u63d0\u9ad8\u4eba\u53e3\u7684\u4e0a\u9650\u548c\u589e\u957f\u901f\u5ea6\u3002', 'iconPath': None, 'property': u'\u53ef\u5bb9\u7eb3\u4eba\u53e3', 'maxLevel': 30, 'castleType': u'main'}, 'status': u'FINISH', 'casBuiId': 1956663, 'posNo': u'C16', 'level': 5, 'IExportType': 12, 'buiDesc': u'5\u7ea7\u6c11\u5c45\u53ef\u5bb9\u7eb3\u4eba\u53e3500', 'userId': 83085, 'inBuiDesc': u'\u6c11\u5c45(\u4e3b\u57ce\u6700\u591a15\u4e2a)\u4e3a\u57ce\u6c60\u4e2d\u7684\u4eba\u53e3\u63d0\u4f9b\u4f4f\u6240\u3002\u5efa\u9020\u548c\u5347\u7ea7\u6c11\u5c45\u80fd\u591f\u63d0\u9ad8\u4eba\u53e3\u7684\u4e0a\u9650\u548c\u589e\u957f\u901f\u5ea6\u30025\u7ea7\u6c11\u5c45\u53ef\u5bb9\u7eb3\u4eba\u53e3500', 'iconPath': u'\u6c11\u5c452.png', 'buiEntId': 10110001, 'casId': 87609, 'isBuilding':-1, 'IExportOpCode': 0}, {'building': {'buiName': u'\u519b\u8425', 'entId': 10112001, 'entType': None, 'numLimit': 12, 'buiDesc': u'\u519b\u8425(\u4e3b\u57ce\u6700\u591a12\u4e2a)\u7528\u4e8e\u8bad\u7ec3\u548c\u9063\u6563\u58eb\u5175\u3002\u5efa\u9020\u548c\u5347\u7ea7\u519b\u8425\u80fd\u591f\u63d0\u9ad8\u65b0\u5175\u7684\u6570\u91cf\u4e0a\u9650\u548c\u589e\u957f\u901f\u5ea6\u3002', 'iconPath': None, 'property': u'\u63d0\u4f9b\u65b0\u5175\u6570\u91cf\u4e0a\u9650', 'maxLevel': 30, 'castleType': u'main'}, 'status': u'FINISH', 'casBuiId': 1915005, 'posNo': u'C17', 'level': 6, 'IExportType': 12, 'buiDesc': u'6\u7ea7\u519b\u8425\u53ef\u5bb9\u7eb3240\u65b0\u5175', 'userId': 83085, 'inBuiDesc': u'\u519b\u8425(\u4e3b\u57ce\u6700\u591a12\u4e2a)\u7528\u4e8e\u8bad\u7ec3\u548c\u9063\u6563\u58eb\u5175\u3002\u5efa\u9020\u548c\u5347\u7ea7\u519b\u8425\u80fd\u591f\u63d0\u9ad8\u65b0\u5175\u7684\u6570\u91cf\u4e0a\u9650\u548c\u589e\u957f\u901f\u5ea6\u30026\u7ea7\u519b\u8425\u53ef\u5bb9\u7eb3240\u65b0\u5175', 'iconPath': u'\u6b65\u5175\u84252.png', 'buiEntId': 10112001, 'casId': 87609, 'isBuilding':-1, 'IExportOpCode': 0}, {'building': {'buiName': u'\u6c11\u5c45', 'entId': 10110001, 'entType': None, 'numLimit': 15, 'buiDesc': u'\u6c11\u5c45(\u4e3b\u57ce\u6700\u591a15\u4e2a)\u4e3a\u57ce\u6c60\u4e2d\u7684\u4eba\u53e3\u63d0\u4f9b\u4f4f\u6240\u3002\u5efa\u9020\u548c\u5347\u7ea7\u6c11\u5c45\u80fd\u591f\u63d0\u9ad8\u4eba\u53e3\u7684\u4e0a\u9650\u548c\u589e\u957f\u901f\u5ea6\u3002', 'iconPath': None, 'property': u'\u53ef\u5bb9\u7eb3\u4eba\u53e3', 'maxLevel': 30, 'castleType': u'main'}, 'status': u'FINISH', 'casBuiId': 1914956, 'posNo': u'C18', 'level': 6, 'IExportType': 12, 'buiDesc': u'6\u7ea7\u6c11\u5c45\u53ef\u5bb9\u7eb3\u4eba\u53e3600', 'userId': 83085, 'inBuiDesc': u'\u6c11\u5c45(\u4e3b\u57ce\u6700\u591a15\u4e2a)\u4e3a\u57ce\u6c60\u4e2d\u7684\u4eba\u53e3\u63d0\u4f9b\u4f4f\u6240\u3002\u5efa\u9020\u548c\u5347\u7ea7\u6c11\u5c45\u80fd\u591f\u63d0\u9ad8\u4eba\u53e3\u7684\u4e0a\u9650\u548c\u589e\u957f\u901f\u5ea6\u30026\u7ea7\u6c11\u5c45\u53ef\u5bb9\u7eb3\u4eba\u53e3600', 'iconPath': u'\u6c11\u5c452.png', 'buiEntId': 10110001, 'casId': 87609, 'isBuilding':-1, 'IExportOpCode': 0}, {'building': {'buiName': u'\u519b\u8425', 'entId': 10112001, 'entType': None, 'numLimit': 12, 'buiDesc': u'\u519b\u8425(\u4e3b\u57ce\u6700\u591a12\u4e2a)\u7528\u4e8e\u8bad\u7ec3\u548c\u9063\u6563\u58eb\u5175\u3002\u5efa\u9020\u548c\u5347\u7ea7\u519b\u8425\u80fd\u591f\u63d0\u9ad8\u65b0\u5175\u7684\u6570\u91cf\u4e0a\u9650\u548c\u589e\u957f\u901f\u5ea6\u3002', 'iconPath': None, 'property': u'\u63d0\u4f9b\u65b0\u5175\u6570\u91cf\u4e0a\u9650', 'maxLevel': 30, 'castleType': u'main'}, 'status': u'FINISH', 'casBuiId': 1144689, 'posNo': u'C19', 'level': 6, 'IExportType': 12, 'buiDesc': u'6\u7ea7\u519b\u8425\u53ef\u5bb9\u7eb3240\u65b0\u5175', 'userId': 83085, 'inBuiDesc': u'\u519b\u8425(\u4e3b\u57ce\u6700\u591a12\u4e2a)\u7528\u4e8e\u8bad\u7ec3\u548c\u9063\u6563\u58eb\u5175\u3002\u5efa\u9020\u548c\u5347\u7ea7\u519b\u8425\u80fd\u591f\u63d0\u9ad8\u65b0\u5175\u7684\u6570\u91cf\u4e0a\u9650\u548c\u589e\u957f\u901f\u5ea6\u30026\u7ea7\u519b\u8425\u53ef\u5bb9\u7eb3240\u65b0\u5175', 'iconPath': u'\u6b65\u5175\u84252.png', 'buiEntId': 10112001, 'casId': 87609, 'isBuilding':-1, 'IExportOpCode': 0}, {'building': {'buiName': u'\u5e02\u573a', 'entId': 10116001, 'entType': None, 'numLimit': 1, 'buiDesc': u'\u5e02\u573a(\u552f\u4e00\u7684)\u662f\u4e0e\u76df\u53cb\u8fdb\u884c\u8dd1\u5546\u4ea4\u6613\u7684\u573a\u6240\u3002', 'iconPath': None, 'property': u'\u8dd1\u5546\u8d27\u7269\u7684\u4f9b\u5e94\u548c\u9700\u6c42\u6570\u91cf', 'maxLevel': 30, 'castleType': u'main'}, 'status': u'FINISH', 'casBuiId': 1137153, 'posNo': u'C10', 'level': 6, 'IExportType': 12, 'buiDesc': u'6\u7ea7\u5e02\u573a\u5546\u961f\u8fd0\u8f7d\u91cf\u4e3a600', 'userId': 83085, 'inBuiDesc': u'\u5e02\u573a(\u552f\u4e00\u7684)\u662f\u4e0e\u76df\u53cb\u8fdb\u884c\u8dd1\u5546\u4ea4\u6613\u7684\u573a\u6240\u30026\u7ea7\u5e02\u573a\u5546\u961f\u8fd0\u8f7d\u91cf\u4e3a600', 'iconPath': u'\u5e02\u573a2.png', 'buiEntId': 10116001, 'casId': 87609, 'isBuilding':-1, 'IExportOpCode': 0}, {'building': {'buiName': u'\u5916\u4f7f\u9662', 'entId': 10117001, 'entType': None, 'numLimit': 1, 'buiDesc': u'\u5916\u4f7f\u9662(\u552f\u4e00\u7684)\u662f\u52a0\u5165\u6216\u5efa\u7acb\u8054\u76df\u7684\u5fc5\u8981\u5efa\u7b51\u3002', 'iconPath': None, 'property': u'\u540c\u76df\u76ee\u6807\u884c\u519b\u901f\u5ea6', 'maxLevel': 30, 'castleType': u'main'}, 'status': u'FINISH', 'casBuiId': 1134185, 'posNo': u'C11', 'level': 4, 'IExportType': 12, 'buiDesc': u'4\u7ea7\u5916\u4f7f\u9662\u4f7f\u76df\u53cb\u5411\u672c\u57ce\u6d3e\u9063\u519b\u961f\u7684\u884c\u519b\u901f\u5ea6\u589e\u52a040%', 'userId': 83085, 'inBuiDesc': u'\u5916\u4f7f\u9662(\u552f\u4e00\u7684)\u662f\u52a0\u5165\u6216\u5efa\u7acb\u8054\u76df\u7684\u5fc5\u8981\u5efa\u7b51\u30024\u7ea7\u5916\u4f7f\u9662\u4f7f\u76df\u53cb\u5411\u672c\u57ce\u6d3e\u9063\u519b\u961f\u7684\u884c\u519b\u901f\u5ea6\u589e\u52a040%', 'iconPath': u'\u9e3f\u80ea\u5bfa1.png', 'buiEntId': 10117001, 'casId': 87609, 'isBuilding':-1, 'IExportOpCode': 0}, {'building': {'buiName': u'\u94c1\u5320\u94fa', 'entId': 10116002, 'entType': None, 'numLimit': 1, 'buiDesc': u'\u94c1\u5320\u94fa(\u552f\u4e00\u7684)\u80fd\u8d2d\u4e70\u4e00\u4e9b\u521d\u7ea7\u88c5\u5907\uff0c\u60a8\u4e5f\u53ef\u4ee5\u628a\u4e00\u4e9b\u591a\u4f59\u7684\u88c5\u5907\u6216\u6750\u6599\u5356\u6389\u3002\u5347\u7ea7\u94c1\u5320\u94fa\u80fd\u6253\u9020\u51fa\u66f4\u591a\u79cd\u7c7b\u7684\u88c5\u5907\u3002\u5982\u679c\u60a8\u6709\u7a00\u6709\u6750\u6599\u7684\u8bdd\uff0c\u4e5f\u8bb8\u94c1\u5320\u80fd\u8ba9\u60a8\u7684\u88c5\u5907\u66f4\u52a0\u5f3a\u529b\u3002', 'iconPath': None, 'property': u'\u57ce\u5899\u88c5\u8f7d\u57ce\u9632\u7684\u6570\u91cf\u4e0a\u9650', 'maxLevel': 30, 'castleType': u'main'}, 'status': u'FINISH', 'casBuiId': 1129018, 'posNo': u'C12', 'level': 6, 'IExportType': 12, 'buiDesc': u'\u670b\u53cb\uff0c\u4f60\u6709\u864e\u7b26\u5417\uff1f\u90a3\u4e1c\u897f\u4e00\u5b9a\u4f1a\u5356\u4e2a\u597d\u4ef7\u94b1\u3002', 'userId': 83085, 'inBuiDesc': u'\u94c1\u5320\u94fa(\u552f\u4e00\u7684)\u80fd\u8d2d\u4e70\u4e00\u4e9b\u521d\u7ea7\u88c5\u5907\uff0c\u60a8\u4e5f\u53ef\u4ee5\u628a\u4e00\u4e9b\u591a\u4f59\u7684\u88c5\u5907\u6216\u6750\u6599\u5356\u6389\u3002\u5347\u7ea7\u94c1\u5320\u94fa\u80fd\u6253\u9020\u51fa\u66f4\u591a\u79cd\u7c7b\u7684\u88c5\u5907\u3002\u5982\u679c\u60a8\u6709\u7a00\u6709\u6750\u6599\u7684\u8bdd\uff0c\u4e5f\u8bb8\u94c1\u5320\u80fd\u8ba9\u60a8\u7684\u88c5\u5907\u66f4\u52a0\u5f3a\u529b\u3002\u670b\u53cb\uff0c\u4f60\u6709\u864e\u7b26\u5417\uff1f\u90a3\u4e1c\u897f\u4e00\u5b9a\u4f1a\u5356\u4e2a\u597d\u4ef7\u94b1\u3002', 'iconPath': u'\u94c1\u5320\u94fa2.swf', 'buiEntId': 10116002, 'casId': 87609, 'isBuilding':-1, 'IExportOpCode': 0}, {'building': {'buiName': u'\u519b\u8425', 'entId': 10112001, 'entType': None, 'numLimit': 12, 'buiDesc': u'\u519b\u8425(\u4e3b\u57ce\u6700\u591a12\u4e2a)\u7528\u4e8e\u8bad\u7ec3\u548c\u9063\u6563\u58eb\u5175\u3002\u5efa\u9020\u548c\u5347\u7ea7\u519b\u8425\u80fd\u591f\u63d0\u9ad8\u65b0\u5175\u7684\u6570\u91cf\u4e0a\u9650\u548c\u589e\u957f\u901f\u5ea6\u3002', 'iconPath': None, 'property': u'\u63d0\u4f9b\u65b0\u5175\u6570\u91cf\u4e0a\u9650', 'maxLevel': 30, 'castleType': u'main'}, 'status': u'FINISH', 'casBuiId': 1119618, 'posNo': u'C13', 'level': 8, 'IExportType': 12, 'buiDesc': u'8\u7ea7\u519b\u8425\u53ef\u5bb9\u7eb3350\u65b0\u5175', 'userId': 83085, 'inBuiDesc': u'\u519b\u8425(\u4e3b\u57ce\u6700\u591a12\u4e2a)\u7528\u4e8e\u8bad\u7ec3\u548c\u9063\u6563\u58eb\u5175\u3002\u5efa\u9020\u548c\u5347\u7ea7\u519b\u8425\u80fd\u591f\u63d0\u9ad8\u65b0\u5175\u7684\u6570\u91cf\u4e0a\u9650\u548c\u589e\u957f\u901f\u5ea6\u30028\u7ea7\u519b\u8425\u53ef\u5bb9\u7eb3350\u65b0\u5175', 'iconPath': u'\u6b65\u5175\u84252.png', 'buiEntId': 10112001, 'casId': 87609, 'isBuilding':-1, 'IExportOpCode': 0}, {'building': {'buiName': u'\u533b\u9986', 'entId': 10115002, 'entType': None, 'numLimit': 1, 'buiDesc': u'\u751f\u5b58\u4e8e\u4e71\u4e16\uff0c\u5e94\u505a\u597d\u635f\u5175\u6298\u5c06\u7684\u51c6\u5907\u3002\u533b\u9986(\u552f\u4e00\u7684)\u80fd\u591f\u533b\u6cbb\u6b66\u5c06\uff0c\u4f7f\u5176\u5728\u6218\u573a\u4e0a\u53d1\u6325\u767e\u5206\u4e4b\u767e\u7684\u6218\u529b\u3002\u4f11\u606f\u4e2d\u7684\u6b66\u5c06\u4e0d\u533b\u6cbb\u4e5f\u4f1a\u7f13\u6162\u6062\u590d\u5065\u5eb7\u3002\u5347\u7ea7\u533b\u9986\u80fd\u71ac\u5236\u66f4\u591a\u818f\u836f\u3002', 'iconPath': None, 'property': u'\u533b\u7597\u70b9\u6570', 'maxLevel': 30, 'castleType': u'main'}, 'status': u'FINISH', 'casBuiId': 1127822, 'posNo': u'C14', 'level': 5, 'IExportType': 12, 'buiDesc': u'5\u7ea7\u533b\u9986\u6700\u591a\u53ef\u5b58\u653e200\u526f\u818f\u836f', 'userId': 83085, 'inBuiDesc': u'\u751f\u5b58\u4e8e\u4e71\u4e16\uff0c\u5e94\u505a\u597d\u635f\u5175\u6298\u5c06\u7684\u51c6\u5907\u3002\u533b\u9986(\u552f\u4e00\u7684)\u80fd\u591f\u533b\u6cbb\u6b66\u5c06\uff0c\u4f7f\u5176\u5728\u6218\u573a\u4e0a\u53d1\u6325\u767e\u5206\u4e4b\u767e\u7684\u6218\u529b\u3002\u4f11\u606f\u4e2d\u7684\u6b66\u5c06\u4e0d\u533b\u6cbb\u4e5f\u4f1a\u7f13\u6162\u6062\u590d\u5065\u5eb7\u3002\u5347\u7ea7\u533b\u9986\u80fd\u71ac\u5236\u66f4\u591a\u818f\u836f\u30025\u7ea7\u533b\u9986\u6700\u591a\u53ef\u5b58\u653e200\u526f\u818f\u836f', 'iconPath': u'\u533b\u99862.png', 'buiEntId': 10115002, 'casId': 87609, 'isBuilding':-1, 'IExportOpCode': 0}, {'building': {'buiName': u'\u6c11\u5c45', 'entId': 10110001, 'entType': None, 'numLimit': 15, 'buiDesc': u'\u6c11\u5c45(\u4e3b\u57ce\u6700\u591a15\u4e2a)\u4e3a\u57ce\u6c60\u4e2d\u7684\u4eba\u53e3\u63d0\u4f9b\u4f4f\u6240\u3002\u5efa\u9020\u548c\u5347\u7ea7\u6c11\u5c45\u80fd\u591f\u63d0\u9ad8\u4eba\u53e3\u7684\u4e0a\u9650\u548c\u589e\u957f\u901f\u5ea6\u3002', 'iconPath': None, 'property': u'\u53ef\u5bb9\u7eb3\u4eba\u53e3', 'maxLevel': 30, 'castleType': u'main'}, 'status': u'FINISH', 'casBuiId': 1539456, 'posNo': u'C15', 'level': 6, 'IExportType': 12, 'buiDesc': u'6\u7ea7\u6c11\u5c45\u53ef\u5bb9\u7eb3\u4eba\u53e3600', 'userId': 83085, 'inBuiDesc': u'\u6c11\u5c45(\u4e3b\u57ce\u6700\u591a15\u4e2a)\u4e3a\u57ce\u6c60\u4e2d\u7684\u4eba\u53e3\u63d0\u4f9b\u4f4f\u6240\u3002\u5efa\u9020\u548c\u5347\u7ea7\u6c11\u5c45\u80fd\u591f\u63d0\u9ad8\u4eba\u53e3\u7684\u4e0a\u9650\u548c\u589e\u957f\u901f\u5ea6\u30026\u7ea7\u6c11\u5c45\u53ef\u5bb9\u7eb3\u4eba\u53e3600', 'iconPath': u'\u6c11\u5c452.png', 'buiEntId': 10110001, 'casId': 87609, 'isBuilding':-1, 'IExportOpCode': 0}]}
        return parse.listCastleBuilding(data)
    
    def getEndTime(self, mission_id):
        data = {'missionName': u'\u7ef4\u62a4\u6cbb\u5b89', 'timeDis': 898.0, 'theStatus': 3} 
        return parse.getEndTime(data)
    
    def actDailyMission(self, mission_id, casId):  
        self.log.info('actDailyMission')  
        
    def levelUpCastleBui(self, casBuiId):    
        self.log.info('levelUpCastleBui')
        
    def refreshCasBui(self, casId, posNo):
        data = {'building': {'buiName': u'\u4fee\u70bc\u9986', 'entId': 10114003, 'entType': None, 'numLimit': 1, 'buiDesc': u'\u4fee\u70bc\u9986(\u552f\u4e00\u7684)\u662f\u57f9\u517b\u6b66\u5c06\u7684\u91cd\u8981\u573a\u6240\uff0c\u4f7f\u6b66\u5c06\u4e0d\u5fc5\u5f81\u6218\u6c99\u573a\u5c31\u80fd\u5f97\u5230\u953b\u70bc\u3002\u5347\u7ea7\u4fee\u70bc\u9986\u5c06\u5141\u8bb8\u6b66\u5c06\u4fee\u70bc\u5230\u66f4\u9ad8\u7ea7\u522b\u3002', 'iconPath': None, 'property': u'\u6b66\u5c06\u4fee\u70bc\u7ecf\u9a8c\u5956\u52b1', 'maxLevel': 30, 'castleType': u'main'}, 'status': u'BUILDING', 'rang': 140, 'remainSeconds': 630.0, 'posNo': u'C3', 'level': 4, 'endDttm': u'2010-09-16 14:15:17', 'buiDesc': u'4\u7ea7\u4fee\u70bc\u9986\u5185\u6b66\u5c06\u6700\u9ad8\u53ef\u4fee\u70bc\u523016\u7ea7\uff0c\u9ad8\u7ea7\u4fee\u70bc\u4e0d\u53d7\u9650\u5236', 'honor': 14, 'inBuiDesc': u'\u4fee\u70bc\u9986(\u552f\u4e00\u7684)\u662f\u57f9\u517b\u6b66\u5c06\u7684\u91cd\u8981\u573a\u6240\uff0c\u4f7f\u6b66\u5c06\u4e0d\u5fc5\u5f81\u6218\u6c99\u573a\u5c31\u80fd\u5f97\u5230\u953b\u70bc\u3002\u5347\u7ea7\u4fee\u70bc\u9986\u5c06\u5141\u8bb8\u6b66\u5c06\u4fee\u70bc\u5230\u66f4\u9ad8\u7ea7\u522b\u30024\u7ea7\u4fee\u70bc\u9986\u5185\u6b66\u5c06\u6700\u9ad8\u53ef\u4fee\u70bc\u523016\u7ea7\uff0c\u9ad8\u7ea7\u4fee\u70bc\u4e0d\u53d7\u9650\u5236', 'iconPath': u'\u6b66\u99861.png', 'isBuilding': 630.0, 'buildingType': 1, 'casBuiId': 1137418}
        return parse.refreshCasBui(data).isBuilding
                            

